const CompoundSurname = [
  '欧阳',
  '太史',
  '端木',
  '上官',
  '司马',
  '东方',
  '独孤',
  '南宫',
  '万俟',
  '闻人',
  '夏侯',
  '诸葛',
  '尉迟',
  '公羊',
  '赫连',
  '澹台',
  '皇甫',
  '宗政',
  '濮阳',
  '公冶',
  '太叔',
  '申屠',
  '公孙',
  '慕容',
  '仲孙',
  '钟离',
  '长孙',
  '宇文',
  '城池',
  '司徒',
  '鲜于',
  '司空',
  '汝嫣',
  '闾丘',
  '子车',
  '亓官',
  '司寇',
  '巫马',
  '公西',
  '颛孙',
  '壤驷',
  '公良',
  '漆雕',
  '乐正',
  '宰父',
  '谷梁',
  '拓跋',
  '夹谷',
  '轩辕',
  '令狐',
  '段干',
  '百里',
  '呼延',
  '东郭',
  '南门',
  '羊舌',
  '微生',
  '公户',
  '公玉',
  '公仪',
  '梁丘',
  '公仲',
  '公上',
  '公门',
  '公山',
  '公坚',
  '左丘',
  '公伯',
  '西门',
  '公祖',
  '第五',
  '公乘',
  '贯丘',
  '公皙',
  '南荣',
  '东里',
  '东宫',
  '仲长',
  '子书',
  '子桑',
  '即墨',
  '达奚',
  '褚师',
] // 复姓
/** 取中文名的姓和名
 * @param fullname 全名 风慕李
 * @returns 返回姓/名 {lastName: '风', firstName: '慕李'}
 */
const SplitName = (fullname: string) => {
  let lastName = '' // 姓
  let firstName = '' // 名
  const length = fullname.length

  if (length > 2) {
    const preTwoWords = fullname.substr(0, 2) // 取命名的前两个字,看是否在复姓库中
    if (CompoundSurname.indexOf(preTwoWords) > -1) {
      lastName = preTwoWords
      firstName = fullname.substr(2)
    } else {
      lastName = fullname.substr(0, 1)
      firstName = fullname.substr(1)
    }
  } else if (length === 2) {
    lastName = fullname.substr(0, 1)
    firstName = fullname.substr(1)
  } else {
    lastName = fullname
  }
  return {
    firstName: firstName,
    lastName: lastName,
  }
}

export default SplitName
